<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2005 XBRL International. All Rights Reserved. -->
<?xml-stylesheet type="text/xsl" href="../../testcase.xsl"?>
<testcase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sche="http://www.xbrl.org/2005/genericXmlSchemaError" name="001-TestCase-Taxonomy" description="Schema validity test case for dimensional taxonomy" outpath="out" owner="ihr@xbrl.org" minimal="true" xsi:schemaLocation="http://xbrl.org/2005/conformance ../../lib/test.xsd">
        <!-- Dimensional taxonomy syntax rules pertaining to schemas and linkbases, and not covered by XML Schema and XBRL Validation. -->
        <!-- Note that XBRL validation requires the source and target of a definitionArc to be a concept. -->
        <!-- As of the 2005-10-26 internal working draft. (Herm) -->
        <!-- 2.3.4.1 1. The value of the xbrldt:summable attribute MUST be Boolean. A dimensional processor MAY raise any XML Schema error or [Dim Err, 9] xbrldte:SummableAttributeInvalid if the value of the xbrldt:summable attribute is not Boolean -->
<!-- the xbrldt:summable attribute is not present in 2005-12-22
        <variation id="V-01" name="hypercubeDimensionSummableValid">
                <description reference="XDT-IWD-2005-10-26.doc#2.3.4.1">The value of the xbrldt:summable attribute is one each of true and false</description>
                <data>
                        <xsd readMeFirst="true">hypercubeDimensionSummableValid.xsd</xsd>
                        <linkbase readMeFirst="false">hypercubeDimensionSummableValid-definition.xml</linkbase>
                        <linkbase readMeFirst="false">hypercubeDimensionSummableValid-label.xml</linkbase>
                </data>
                <result />
        </variation>
        <variation id="V-02" name="hypercubeDimensionSummableInvalid">
                <description reference="XDT-IWD-2005-10-26.doc#2.2.2.1">The value of the xbrldt:summable attribute is not boolean</description>
                <data>
                        <xsd readMeFirst="true">hypercubeDimensionSummableInvalid.xsd</xsd>
                        <linkbase readMeFirst="false">hypercubeDimensionSummableInvalid-definition.xml</linkbase>
                        <linkbase readMeFirst="false">hypercubeDimensionSummableInvalid-label.xml</linkbase>
                </data>
                <result>
                        <error>sche:XmlSchemaError</error>
                </result>
        </variation>
-->
        <!-- 2.4.3 3. The content of the xbrldt:targetRole attribute MUST be a valid URI. A dimensional processor MAY raise any XML Schema error if the content of xbrldt:targetRole is not a valid URI -->
        <variation id="V-03" name="hypercubeDimensionTargetRoleInvalidURI">
                <description reference="XDT-IWD-2005-10-26.doc#2.4">The value of the xbrldt:targetRole attribute is invalid</description>
                <data>
                        <xsd readMeFirst="true">hypercubeDimensionTargetRoleInvalidURI.xsd</xsd>
                        <linkbase readMeFirst="false">hypercubeDimensionTargetRoleInvalidURI-definition.xml</linkbase>
                        <linkbase readMeFirst="false">hypercubeDimensionTargetRoleInvalidURI-label.xml</linkbase>
                </data>
                <result >
                        <error>sche:XmlSchemaError</error>
                </result>
        </variation>
        <!-- 2.3.2.1 1. Every xbrldt:contextElement attribute MUST have one of the values segment or scenario. A dimensional processor MAY raise any XML Schema error if this rule is violated -->
        <variation id="V-04" name="hasHypercubeContextElementInvalid">
                <description reference="XDT-IWD-2005-10-26.doc#2.3.2.1">The hasHypercube relationship has an invalid contextElement value.  This should also be detected by XML schema tests, and may appear (after loading) as invalid if retained for end-user editing in some tools.</description>
                <data>
                        <xsd readMeFirst="true">hasHypercubeContextElementInvalid.xsd</xsd>
                        <linkbase readMeFirst="false">hasHypercubeContextElementInvalid-definition.xml</linkbase>
                        <linkbase readMeFirst="false">hasHypercubeContextElementInvalid-label.xml</linkbase>
                </data>
                <result>
                        <error>sche:XmlSchemaError</error>
                </result>
        </variation>
        <!-- 2.3.3.1 1. The closed attribute, if present, MUST have a Boolean value. A dimensional processor MAY raise any XML Schema error or [Dim Err, 8] xbrldte:ClosedAttributeInvalid if this rule is violated -->
        <variation id="V-05" name="hasHypercubeClosedInvalid">
                <description reference="XDT-IWD-2005-10-26.doc#2.3.3.1">The hasHypercube relationship has an invalid non-boolean closed attribute value.  This may also be detected by XML schema tests.</description>
                <data>
                        <xsd readMeFirst="true">hasHypercubeClosedInvalid.xsd</xsd>
                        <linkbase readMeFirst="false">hasHypercubeClosedInvalid-definition.xml</linkbase>
                        <linkbase readMeFirst="false">hasHypercubeClosedInvalid-label.xml</linkbase>
                </data>
                <result >
                        <error>sche:XmlSchemaError</error>
                </result>
        </variation>
	<!-- 2.3.4.1 1. The value of the xbrldt:summable attribute MUST be Boolean. A dimensional processor MAY raise any XML Schema error or [Dim Err, 9] xbrldte:SummableAttributeInvalid if the value of the xbrldt:summable attribute is not Boolean. -->
	<!-- Files missing
        <variation id="V-06" name="hasHypercubeSummableValid">
                <description reference="XDT-IWD-2005-10-26.doc#2.3.4.1">The hasHypercube relationship has a valid non-default boolean summable attribute value.</description>
                <data>
                        <xsd readMeFirst="true">hasHypercubeSummableValid.xsd</xsd>
                        <linkbase readMeFirst="false">hasHypercubeSummableValid-definition.xml</linkbase>
                        <linkbase readMeFirst="false">hasHypercubeSummableValid-label.xml</linkbase>
                </data>
                <result >
                </result>
        </variation>
        <variation id="V-07" name="hasHypercubeSummableInvalid">
                <description reference="XDT-IWD-2005-10-26.doc#2.3.4.1">The hasHypercube relationship has an invalid non-boolean summable attribute value.  This may also be detected by XML schema tests.</description>
                <data>
                        <xsd readMeFirst="true">hasHypercubeSummableInvalid.xsd</xsd>
                        <linkbase readMeFirst="false">hasHypercubeSummableInvalid-definition.xml</linkbase>
                        <linkbase readMeFirst="false">hasHypercubeSummableInvalid-label.xml</linkbase>
                </data>
                <result >
                        <error>sche:XmlSchemaError</error>
                </result>
	</variation>
        -->
        <!-- 2.3.4 3.   The content of the xbrldt:targetRole attribute MUST be a valid URI. A dimensional processor MAY raise any XML Schema error if the content of xbrldt:targetRole is not a valid URI -->
        <variation id="V-08" name="hasHypercubeTargetRoleInvalidURI">
                <description reference="XDT-IWD-2005-10-26.doc#2.3.4.1">An all hypercube has an msdos path in the targetRole attribute to locate the domain - dimension arc network.</description>
                <data>
                        <xsd readMeFirst="true">hasHypercubeTargetRoleInvalidURI.xsd</xsd>
                        <linkbase readMeFirst="false">hasHypercubeTargetRoleInvalidURI-definition.xml</linkbase>
                        <linkbase readMeFirst="false">hasHypercubeTargetRoleInvalidURI-label.xml</linkbase>
                </data>
                <result >
                        <error>sche:XmlSchemaError</error>
                </result>
        </variation>
        <!-- 2.3.4 3.   The content of the xbrldt:targetRole attribute MUST be a valid URI. A dimensional processor MAY raise any XML Schema error if the content of xbrldt:targetRole is not a valid URI -->
        <variation id="V-09" name="dimensionDomainTargetRoleInvalidURI">
                <description reference="XDT-IWD-2005-10-26.doc#2.3.4.1">A dimension-domain relationship has an msdos path in the targetRole attribute to locate the domain - member arc network.</description>
                <data>
                        <xsd readMeFirst="true">dimensionDomainTargetRoleInvalidURI.xsd</xsd>
                        <linkbase readMeFirst="false">dimensionDomainTargetRoleInvalidURI-definition.xml</linkbase>
                        <linkbase readMeFirst="false">dimensionDomainTargetRoleInvalidURI-label.xml</linkbase>
                </data>
                <result >
                        <error>sche:XmlSchemaError</error>
                </result>
        </variation>
        <!-- 2.3.4 3.   The content of the xbrldt:targetRole attribute MUST be a valid URI. A dimensional processor MAY raise any XML Schema error or [Dim Err, 11] xbrldte:TargetRoleAttributeInvalidURI if the content of xbrldt:targetRole is not a valid URI -->
        <variation id="V-10" name="domainMemberTargetRoleInvalidURI">
                <description reference="XDT-IWD-2005-10-26.doc#2.3.4.1">A domain-member relationship has an msdos path in the targetRole attribute to locate the domain - member arc network.</description>
                <data>
                        <xsd readMeFirst="true">domainMemberTargetRoleInvalidURI.xsd</xsd>
                        <linkbase readMeFirst="false">domainMemberTargetRoleInvalidURI-definition.xml</linkbase>
                        <linkbase readMeFirst="false">domainMemberTargetRoleInvalidURI-label.xml</linkbase>
                </data>
                <result >
                        <error>sche:XmlSchemaError</error>
                </result>
        </variation>
        <!-- 2.5.3.3 If an arc has an xbrldt:usable attribute whose value is false, then its targets are excluded from the domain of valid members -->
        <variation id="V-11" name="domainMemberUsableValid">
                <description reference="XDT-IWD-2005-10-26.doc#2.3.4.1">A domain-member relationship has a valid non-default usable attribute.</description>
                <data>
                        <xsd readMeFirst="true">domainMemberUsableValid.xsd</xsd>
                        <linkbase readMeFirst="false">domainMemberUsableValid-definition.xml</linkbase>
                        <linkbase readMeFirst="false">domainMemberUsableValid-label.xml</linkbase>
                </data>
                <result>
                </result>
        </variation>
        <!-- 2.5.3.3.1  1. The value of the xbrldt:usable attribute MUST be Boolean. A dimensional processor MAY raise any XML Schema error if the value of the xbrldt:usable attribute is not Boolean -->
        <variation id="V-12" name="domainMemberUsableInvalid">
                <description reference="XDT-IWD-2005-10-26.doc#2.3.4.1">A domain-member relationship has a bogus non-boolean usable attribute.</description>
                <data>
                        <xsd readMeFirst="true">domainMemberUsableInvalid.xsd</xsd>
                        <linkbase readMeFirst="false">domainMemberUsableInvalid-definition.xml</linkbase>
                        <linkbase readMeFirst="false">domainMemberUsableInvalid-label.xml</linkbase>
                </data>
                <result >
                        <error>sche:XmlSchemaError</error>
                </result>
        </variation>
</testcase>
